package estacion.acciones;

import com.opensymphony.xwork2.ActionSupport;
import estacion.dominio.Cliente;

public class Registro extends ActionSupport{
	private static final long serialVersionUID = 1L;
	private String dni;
	private String nombre;
	private String apellido1;
	private String apellido2;
	private long num_cuenta;
	private String email;
	private String contrasena;
	private String confirmacion_contrasena;
	private Cliente cliente;
		
	private int operacion;
	private boolean campos_vacios;
	private boolean contrasenas_incorrectas;
	private boolean registrado;
	private boolean existe_usuario;
	
	@Override
	public String execute() throws Exception {
		try {
			this.cliente=new Cliente();
			
			campos_vacios = false;
			contrasenas_incorrectas = false;
			registrado = false;
			
			if(this.operacion==Constantes.REGISTRARSE){
				if(!this.getDni().equals("") && !this.getNombre().equals("")  && !this.getApellido1().equals("")  && !this.getContrasena().equals("") && !this.getConfirmacion_contrasena().equals("")){
					//DNI no insertado ya
					if(cliente.consultarPersona(this.getDni()) == null){
						cliente.setDNI(this.getDni());
						cliente.setNombre(this.getNombre());
						cliente.setApellido1(this.getApellido1());
						cliente.setApellido2(this.getApellido2());
						cliente.setNum_cuenta_corriente(this.getNum_cuenta());
						cliente.setEmail(this.getEmail());
						//Contrasenas coinciden
						if(contrasena.equals(confirmacion_contrasena)){
							cliente.setContrasena(contrasena);
							cliente.insertPersona();
							registrado = true;
						}
						else contrasenas_incorrectas = true;						
					}else existe_usuario = true;
				}
				else campos_vacios = true;
			}			
		}
		catch(Exception e){
		}
		return SUCCESS;
	}
	
	public void setOperacion(String operacion){
		if (operacion.equalsIgnoreCase("Registrarse"))
			this.operacion = Constantes.REGISTRARSE;
	}

	public String getDni() {
		return dni;
	}

	public void setDni(String dni) {
		this.dni = dni;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getApellido1() {
		return apellido1;
	}

	public void setApellido1(String apellido1) {
		this.apellido1 = apellido1;
	}

	public String getApellido2() {
		return apellido2;
	}

	public void setApellido2(String apellido2) {
		this.apellido2 = apellido2;
	}

	public long getNum_cuenta() {
		return num_cuenta;
	}

	public void setNum_cuenta(long num_cuenta) {
		this.num_cuenta = num_cuenta;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}
	
	public String getContrasena() {
		return contrasena;
	}

	public void setContrasena(String contrasena) {
		this.contrasena = contrasena;
	}

	public String getConfirmacion_contrasena(){
		return confirmacion_contrasena;
	}
	
	public void setConfirmacion_contrasena(String confirmacion_contrasena){
		this.confirmacion_contrasena = confirmacion_contrasena;
	}

	public boolean isCampos_vacios() {
		return campos_vacios;
	}

	public void setCampos_vacios(boolean campos_vacios) {
		this.campos_vacios = campos_vacios;
	}

	public boolean isContrasenas_incorrectas() {
		return contrasenas_incorrectas;
	}

	public void setContrasenas_incorrectas(boolean contrasenas_incorrectas) {
		this.contrasenas_incorrectas = contrasenas_incorrectas;
	}

	public Cliente getCliente() {
		return cliente;
	}

	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}

	public boolean isRegistrado() {
		return registrado;
	}

	public void setRegistrado(boolean registrado) {
		this.registrado = registrado;
	}

	public boolean isExiste_usuario() {
		return existe_usuario;
	}

	public void setExiste_usuario(boolean existe_usuario) {
		this.existe_usuario = existe_usuario;
	}
	
}
